package com.collectplus.express.model;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * 订单
 *
 * @author coffee<br>
 *         2015-8-12下午3:17:10
 */
public class OrderBean implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = -759823742421218951L;

    private int id;
    private int status;// 订单状态
    private String cost;// 订单价格
    private String serviceCost;// 运费
    private String payMoney;// 实际支付的价格,本地缓存用
    private int canUseCoupon;// 可用的邮票数量
    private ArrayList<ReceiverBean> receivers; // 收件人
    private ArrayList<CouponBean> coupons;

    private CourierBean courier; // 快递员
    private int parcelId;
    private double latitude;
    private double longitude;
    private long expectArriveTime; // 预计到达时间
    private long orderTime; // 下单时间
    private int isImmediate; // 是否马上调度 区别预约型和实时调度型 1 实时, 2 预约 默认是实时
    private long serviceTimeLe; // 上门时间小于等于 时间戳 用于预约型上门服务的订单
    private long serviceTimeGe; // 上门时间大于等于 时间戳 用于预约型上门服务的订单
    private int orderType;// 0.线下支付；1.线上支付

    private int orderId;// 订单id
    private String stampCode;
    private String stampName;
    private int stampNum;
    private int stampOrderId;
    /**
     * 是否是补差价
     */
    private int isCover;
    /**
     * 超重
     */
    private String order2Weight;

    private ArrayList<CouponBean> stamps;

    private boolean valid;//上门取件 判断附近是否有火箭侠可以下单

    private VisitDoorBackBean resultObject;

    public String getOrder2Weight() {
        return order2Weight;
    }

    public void setOrder2Weight(String order2Weight) {
        this.order2Weight = order2Weight;
    }

    public int getIsCover() {
        return isCover;
    }

    public void setIsCover(int isCover) {
        this.isCover = isCover;
    }

    public String getStampCode() {
        return stampCode;
    }

    public void setStampCode(String stampCode) {
        this.stampCode = stampCode;
    }

    public String getStampName() {
        return stampName;
    }

    public void setStampName(String stampName) {
        this.stampName = stampName;
    }

    public int getStampNum() {
        return stampNum;
    }

    public void setStampNum(int stampNum) {
        this.stampNum = stampNum;
    }

    public int getStampOrderId() {
        return stampOrderId;
    }

    public void setStampOrderId(int stampOrderId) {
        this.stampOrderId = stampOrderId;
    }

    public int getOrderId() {
        return orderId;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    public int getOrderType() {
        return orderType;
    }

    public void setOrderType(int orderType) {
        this.orderType = orderType;
    }

    // add 寄件类型
    private int parcelType;//6 上门寄件

    public int getParcelId() {
        return parcelId;
    }

    public void setParcelId(int parcelId) {
        this.parcelId = parcelId;
    }

    /**
     * 是否立即下单
     *
     * @return
     */
    public boolean isImmediate() {
        return isImmediate == 1;
    }

    //
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public ArrayList<ReceiverBean> getReceivers() {
        if (receivers == null) {
            receivers = new ArrayList<ReceiverBean>();
        }
        return receivers;
    }

    public void setReceivers(ArrayList<ReceiverBean> receivers) {
        this.receivers = receivers;
    }

    public static long getSerialversionuid() {
        return serialVersionUID;
    }

    public ArrayList<CouponBean> getCoupons() {
        return coupons;
    }

    public void setCoupons(ArrayList<CouponBean> coupons) {
        this.coupons = coupons;
    }

    public CourierBean getCourier() {
        return courier;
    }

    public void setCourier(CourierBean courier) {
        this.courier = courier;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public long getExpectArriveTime() {
        return expectArriveTime;
    }

    public void setExpectArriveTime(long expectArriveTime) {
        this.expectArriveTime = expectArriveTime;
    }

    public long getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(long orderTime) {
        this.orderTime = orderTime;
    }

    public String getCost() {
        return cost;
    }

    public void setCost(String cost) {
        this.cost = cost;
    }

    public String getServiceCost() {
        return serviceCost;
    }

    public void setServiceCost(String serviceCost) {
        this.serviceCost = serviceCost;
    }

    public String getPayMoney() {
        return payMoney;
    }

    public void setPayMoney(String payMoney) {
        this.payMoney = payMoney;
    }

    public int getCanUseCoupon() {
        return canUseCoupon;
    }

    public void setCanUseCoupon(int canUseCoupon) {
        this.canUseCoupon = canUseCoupon;
    }

    public int getIsImmediate() {
        return isImmediate;
    }

    public void setIsImmediate(int isImmediate) {
        this.isImmediate = isImmediate;
    }

    public long getServiceTimeLe() {
        return serviceTimeLe;
    }

    public void setServiceTimeLe(long serviceTimeLe) {
        this.serviceTimeLe = serviceTimeLe;
    }

    public long getServiceTimeGe() {
        return serviceTimeGe;
    }

    public void setServiceTimeGe(long serviceTimeGe) {
        this.serviceTimeGe = serviceTimeGe;
    }

    public int getParcelType() {
        return parcelType;
    }

    public void setParcelType(int parcelType) {
        this.parcelType = parcelType;
    }

    public ArrayList<CouponBean> getStamps() {
        return stamps == null ? new ArrayList<CouponBean>() : stamps;
    }

    public void setStamps(ArrayList<CouponBean> stamps) {
        this.stamps = stamps;
    }

    public boolean isValid() {
        return valid;
    }

    public void setValid(boolean valid) {
        this.valid = valid;
    }

    public VisitDoorBackBean getResultObject() {
        return resultObject;
    }

    public void setResultObject(VisitDoorBackBean resultObject) {
        this.resultObject = resultObject;
    }
}
